/* 
 * File:   TileProperties.h
 * Author: RedEyedKiller
 *
 * Created on 26 Οκτώβριος 2010, 10:39 μμ
 */

#ifndef TILEPROPERTIES_H
#define	TILEPROPERTIES_H

#include <map>
#include <string>


/**
 * A container class. It encapsulates the different properties map tiles may have and
 * binds the string with the bit flag of the tiles and the logic underneath the property.
 */
class TileProperties
{
public:
    TileProperties();
    virtual ~TileProperties();
    bool ParsePoperties(const char* filename);
    unsigned long ValueOf(const std::string& name) const;
    std::string NameOf(unsigned long flag);
private:
    typedef std::map< unsigned long,std::string > propertiesMap;
    propertiesMap tileProperties;
};

#endif	/* TILEPROPERTIES_H */

